The invention relates to the field of computer programs and systems, and more specifically to computer-aided design (CAD) systems and methods.
Computer-aided techniques are known to include Computer-Aided Design or CAD, which relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systèmes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
In computer-aided techniques, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. Most of the operations required for manipulating and/or navigating the modeled objects may be performed by the user (e.g. the designers) on the GUI. Especially, the user may create, modify, and delete the modeled objects forming the product, and also explore the product so as to comprehend how modeled objects are interrelated, e.g. via a product structure. Traditionally, these operations are carried out through dedicated menus and icons which are located on the sides of the GUI.
Also known are Product Lifecycle Management (PLM) solutions, which refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Some PLM solutions make it for instance possible to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may be first defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products said data being ordered in a hierarchy of data and are indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
Product lifecycle information, including product configuration, process knowledge and resources information are typically intended to be edited in a collaborative way.
When composing an assembly of a plurality of objects, a designer typically uses objects stored in a such a PLM database. Indeed, although CAD systems allow the designer (i.e. the user of the system) to design new products from scratch, in most situations time can be saved by using objects previously designed. A designer is in that case said to “reuse” objects. The reuse of objects avoids “reinventing the wheel” each time an assembly is composed.
In current PLM systems, when a designer wants to reuse existing objects to compose a new one, he needs to first create a new empty product. The designer then uses a search function of the system to search for one or several existing products. The designer then needs to insert results of the search inside his new product, and to position them one by one. If required, the designer may run a new search operation, insert newly found products, and put them in position one by one as previously.
In these systems, to perform the search it is required that the designer enters search criteria such as keywords and/or folder name. Different objects may correspond to identical search criteria, for example if the keyword is present in their name or in their specification and/or if they are in the searched folder. The result of the search appears to the designer as a list of text references pointing at these objects.
Such a method is complex and not efficient. Indeed the designer may not input optimal keywords for the search. The result of the search is therefore not always relevant. Furthermore, such a search may lead to many text references hardly distinguishable one from the other. In the field of mechanical design especially, many parts may be designed with the same function. It may be hard for the designer to select the optimal result in such cases.
Today, on the internet, on most commercial website, user can put in a basket a selection of items he wants to order. Most of the time, this basket is displayed as a list with names and pictures of selected items. However, such functionalities do not exist in the field of computer-aided design.
Accordingly, the art of computer-aided design would benefit from the provision of a computer-implemented method for composing an assembly of a plurality of objects which renders the work of the designer easier and more efficient.